home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earkit / news / thor / hd-install / updatethor < prev    next >
Text File  |  1998-05-24  |  42KB  |  1,441 lines

  1. ; $Id: UpdateThor 1.7 1997/08/26 02:43:57 pettern Exp pettern $
  2. ;*************************************************************************
  3. ;    Title:
  4. ;        UpdateThor
  5. ;*************************************************************************
  6. ;    Description:
  7. ;        Commodore Installer Script for the Thor 2.5 software
  8. ;*************************************************************************
  9. ;    Authors:
  10. ;       Petter Nilsen
  11. ;          - intro borrowed from Robert Reiswig's CyberGfx installer
  12. ;       
  13. ;*************************************************************************
  14. ;    Still to do:
  15. ;        - THOR.macros might not be correct. Notify user?
  16. ;        - Handle previous installations with one of the env-vars/assigns
  17. ;          missing.
  18. ;       - Not delete catalogs/, only the needed dirs
  19. ;
  20. ;*************************************************************************
  21. ;
  22. ;******************************************************
  23. ;***** SET UP OUR VARIABLES AND OTHER SUCH STUFF ******
  24. ;******************************************************
  25.  
  26. ; some useful variables
  27.     (set 
  28.         true             1
  29.         false             0
  30.         yes             true
  31.         no                 false
  32.         is_a_file         1
  33.         is_a_dir         2
  34.         quote             "\""
  35.         newline         "\n"
  36.         tick             "'"
  37.         nothing         ""
  38.         bbspack         0
  39.         inetpack         0
  40.         #inetpackname     "thor25_inet.lha"
  41.         #bbspackname     "thor25_bbs.lha"
  42.         #arexxpackname     "thor25_arexx.lha"
  43.         #version        "THOR 2.5"
  44.         tcptype         0
  45.         uucptype         0
  46.         cpu             (database "cpu")
  47.         cpu020             (and (<> cpu "68000") (<> cpu "68010"))
  48.         v39             (>= (/ (getversion "exec.library" (resident)) 65536) 39)
  49.         #endtext        (cat "Hope you like THOR! Do not hesitate to "
  50.                             "send us comments, bugreports and suggestions.\n\n"
  51.                             "Check out http://www.thule.no/ for updates and news, "
  52.                             "and consider subscribing to one of the mailing lists for "
  53.                             "THOR that are now operational. See the readme file included "
  54.                             "with this distribution for details."
  55.                         )
  56.     )
  57.  
  58. ; set up our delete options
  59.     (delopts "AskUser" "OkNoDelete" "Force")
  60.  
  61. ; some useful procedures
  62.     ; change userlevel to expert
  63.     (procedure expert_level
  64.         (
  65.             (user 2)
  66.         )
  67.     )
  68.  
  69. ; reset userlevel back to default
  70.     (procedure default_level
  71.         (
  72.             (user default-level)
  73.         )
  74.     )
  75.  
  76. ; store off userlevel
  77.     (procedure save_default_level
  78.         (
  79.             (set default-level @user-level)
  80.         )
  81.     )
  82.  
  83. ; some overused strings
  84. (set omp (cat "One moment please..." newline))
  85.  
  86. ; ---------------------------------------------------------------------------
  87. (set #classact "\n\n\nThe following is the default Install/Update Installer\n\nProcedure for placing ClassAct on your System.")
  88.  
  89. ;********************************************************************
  90. ; ClassAct Install/Update Default Procedure by:
  91. ; Osma Ahvenlampi - Osma.Ahvenlampi@hut.fi
  92. ;********************************************************************
  93. ; I have disabled the (complete) settings
  94. (working #classact)
  95. ; ************* PLEASE COPY THIS PROCEDURE ALONG WITH THE STRINGS IT USES 
  96. ; ************* TO THE INSTALLER SCRIPT OF YOUR CLASSACT APPLICATION.
  97. ; ************* IT WILL TAKE CARE OF INSTALLING THE CLASSACT CLASSES YOU
  98. ; ************* PROVIDED WITH YOUR APPLICATION TO THE USER'S SYSTEM.
  99.  
  100. ; $VER: ClassAct_Install 1.10 (21.1.97) by Osma Ahvenlampi
  101.  
  102. (set cpu (database "cpu"))
  103. (set cpu020 (and (<> cpu "68000") (<> cpu "68010")))
  104. (set v39 (>= (/ (getversion "exec.library" (resident)) 65536) 39))
  105.  
  106. ; percentage of the size of included ClassAct classes versus the whole
  107. ; distribution (ie. total "complete" percentage after ClassAct is installed)
  108. (set classact-complete 50)
  109.  
  110. ; ClassAct installer scripts
  111. (if (= @language "español")
  112. ; SPANISH CLASSACT INSTALLATION STRINGS
  113. (
  114. (set #classdest-prompt "Por favor, seleccione el directorio donde desea instalar las clases de ClassAct.\n(Vea la ayuda para más detalles)")
  115. (set #classdest-help (cat "ClassAct es un kit de interface gráfica consistente es clases compartidas BOOPSI.\n\nAlgunos programas requieren que algunas o todas de las clases de ClassAct estén instaladas en su sistema. "
  116.     (if v39 (cat "El OS 3.0 tiene un directorio estándar para las clases BOOPSI: el directorio SYS:Classes. Se recomienda que instale ClassAct ahí.")
  117.             (cat "El OS 2.0 no tiene un sitio estándar para las clases BOOPSI residentes en disco. En el OS 3.0 esas clases son almacenadas en el directorio SYS:Classes. Se recomienda que cree este directorio e instale ClassAct ahí.\nEste directorio debe ser añadido a la asignación de LIBS:. Esto puede ser hecho colocando el comando\nAssign >NIL: LIBS: SYS:Classes ADD\nal User-Startup. Este instalador lo hará por usted.")
  118.         )
  119.     )
  120. )
  121. (set #classes-020 "¿Quiere usar la versión optimizada para OS 3.0 y 020 de ClassAct?")
  122. (set #help-020 "Algunas librerías de ClassAct tienen versiones optimizadas para el uso en máquinas con OS 3.0 y 020 o superior. Si su Amiga es una de tales máquinas debería instalar estas. Las versiones 68000/2.0 también funcionarán, pero son ligeramente más lentas")
  123. (set #noclasses-message "El subdirectorio que seleccionó para sus clases ClassAct no forma parte de la asignación de LIBS:.\n\nEs necesario añadir esta asignación para que las clases puedan ser localizadas adecuadamente.")
  124. (set #creating-dir "Creando directorio ")
  125. (set #usbackup-prompt "Ahora se hará una copia de seguridad del User-Startup.")
  126. (set #usbackup-help "Este instalador hará ahora una modificación en el User-Startup. Antes de hacer esto se hará una copia de seguridad del User-Startup en S:User-Startup.old")
  127. (set #adding-1 "Añadiendo ")
  128. (set #adding-2 "a la asignación de LIBS:\n")
  129. (set #adding-help "Esto es necesario para que las clases puedan ser encontradas.")
  130. (set #junod-button "Parece que tiene el último button.gadget de Comodore ('V42') instalado en su sistema.\n\nEl button.gadget de ClassAct es superior a este gadget y le recomendamos que lo remplace. El button.gadget de ClassAct es compatible con el de Commodore. ¿Desea hacer una copia de seguridad del gadget de Commodore y remplazarlo por la versión de ClassAct?")
  131. (set #junod-backed "Se ha hecho una copia de seguridad del button.gadget 'V42' de Commodore con el nombre button.gadget.v42.\n\nEl button.gadget de ClassAct será instalado en su lugar.")
  132. (set #junod-kept "El button.gadget 'V42' de Commodore no fué remplazado con la versión superior de ClassAct.\n\nLos programas que dependan de la disponibilidad de las características de la versión de ClassAct funcionarán mal probablemente")
  133. ;(set #caprefs-message "CAPrefs es una pequeña utilidad que inicializa algunas preferencias del usuario para las aplicaciones ClassAct. Estas incluyen el estilo de resaltado (Fino/GadTools/Xen), relleno de ventanas, y detalles de las etiquetas de grupo.\n\nPor favor, use las preferencias de interface de ClassAct en su cajón de sistema 'Prefs' .\n\n")
  134. (set #caprefs-message "ClasAct tiene varios aspectos configurables por el usuario que afectan a la apariencia de las interfaces ClassAct.\n\nEstos ajustes pueden ser modificados usando la herramienta de preferencias de ClassAct que será instalada en su cajón 'Prefs'.\n\nUna pequeña herramienta, CAPrefs, será añadida a su user-startup para cargar los ajustes al arrancar.")
  135. (set #caprefs-startup-1 "Añadiendo el comando\n\n")
  136. (set #caprefs-startup-2 "\n\nA su s:User-Startup.")
  137. (set #decompressing-classact "Distribución de Classact comprimida detectada\n\nDescomprimiendo a RAM:")
  138. (set #deleteing-cltmp "Borrando ficheros temporales")
  139. )
  140. ; ENGLISH CLASSACT INSTALLATION STRINGS
  141. (
  142. (set #classdest-prompt "Please select the directory where you want the ClassAct classes installed.\n(See help for details)")
  143. (set #classdest-help (cat "ClassAct is a GUI toolkit consisting of shared BOOPSI classes.\n\nSome programs require some or all of the ClassAct classes installed on your system. "
  144.     (if v39 (cat "OS 3.0 has a standard directory for BOOPSI classes, the SYS:Classes directory. It is recommended that you install ClassAct there.")
  145.             (cat "OS 2.0 does not have a standard place for disk resident BOOPSI classes. On OS 3.0 these classes are stored in the SYS:Classes directory. It is recommended that you create this directory and install ClassAct there.\nThis directory must be added in the LIBS: assign. This can be done by placing the command\nAssign >NIL: LIBS: SYS:Classes ADD\nto User-Startup. This installer will do this for you.")
  146.         )
  147.     )
  148. )
  149. (set #classes-020 "Do you want to use the OS 3.0, 020 optimised version of ClassAct?")
  150. (set #help-020 "Some ClassAct libraries have versions optimised for use on 020 or better equipped OS 3.0 or later machines. If your Amiga is such equipped, you should install these. The 68000/2.0 versions will also work, but are slightly slower.")
  151. (set #noclasses-message "The directory you selected for your ClassAct classes is not a part of the LIBS: assign.\n\nIt is necessary to add this assign so that the classes will be found properly.")
  152. (set #creating-dir "Creating directory ")
  153. (set #usbackup-prompt "User-Startup will now be backed up.")
  154. (set #usbackup-help "This installer will next make a modification in User-Startup. Before doing this the old User-Startup will be backed up to S:User-Startup.old")
  155. (set #adding-1 "Adding ")
  156. (set #adding-2 " to LIBS: assign\n")
  157. (set #adding-help "This is necessary so that the custom classes can be found.")
  158. (set #junod-button "It seems you have a late Commodore 'V42' button.gadget installed on your system.\n\nClassAct's button.gadget is far more capable than this gadget, and we recommend that you replace it. The ClassAct button.gadget is backwards compatible to the Commodore gadget. Do you wish to back up the Commodore gadget and replace it with the ClassAct version?")
  159. (set #junod-backed "The Commodore 'V42' button.gadget has been backed up with the name button.gadget.v42.\n\nThe ClassAct button.gadget will be installed in its place.")
  160. (set #junod-kept "The Commodore 'V42' button.gadget was not replaced with the more capable ClassAct version.\n\nPrograms depending on the availability of ClassAct-only features will be likely to work wrong.")
  161. ;(set #caprefs-message "CAPrefs is a small utility that sets some user preferences for ClassAct applications. These include the bevel style (Thin/Gadtools/Xen), window backfills, and group label details.\n\nPlease use the ClassAct GUI prefs editor to alter the default settings provided. ClassAct prefs will be installed in your system Prefs drawer.\n\n")
  162. (set #caprefs-message "ClassAct has several user-configurable aspects that affect the look of ClassAct interfaces.\n\nThese settings can be changed using the ClassAct preferences tool that will be installed in yout Prefs drawer.\n\nA small tool, CAPrefs, will be added to your user-startup to load the settings on reboot.")
  163. (set #caprefs-startup-1 "Adding the command\n\n")
  164. (set #caprefs-startup-2 "\n\nTo your s:User-Startup.")
  165. (set #decompressing-classact "Compressed ClassAct distribution detected\n\nDecompressing to RAM:")
  166. (set #deleting-cltmp "Deleting temporary files")
  167. )
  168. )
  169.  
  170. (procedure install-classact
  171. ; call this procedure to copy the classes included in the Classes directory
  172. ; in your distribution dir.
  173.     (if (exists "ClassAct.lha")    ; ClassAct is compressed - need to decompress first
  174.         (                        ; Distribution includes LHEX
  175.             (working (cat #decompressing-classact))
  176. ; ClassAct.lha contains paths/files "Classes/*", "C/CheckAssign", "Prefs/CAPrefs" and "Prefs/ClassAct"
  177.             (run "lhex -aqfw=ram:ClassAct/ x ClassAct.lha")
  178.             (set @classact-source "RAM:ClassAct")
  179.         )
  180.         (set @classact-source (pathonly @icon))
  181.     )
  182.     (if (exists "ClassAct.lzx")    ; ClassAct is compressed - need to decompress first
  183.         (                        ; Distribution includes UNLZX
  184.             (working (cat #decompressing-classact))
  185. ; ClassAct.lzx contains paths/files "Classes/*", "C/CheckAssign",  "Prefs/CAPrefs" and "Prefs/ClassAct"
  186.             (run "unlzx -amq x ClassAct.lzx ram:ClassAct/")
  187.             (set @classact-source "RAM:ClassAct")
  188.         )
  189.         (set @classact-source (pathonly @icon))
  190.     )
  191.  
  192.     (if (exists (tackon @classact-source "Classes")) ; The archive contains a ClassAct library update.
  193.     (
  194.         (set comp-dest  (/ (* classact-complete 2) 10))
  195.         (set comp-libs  (/ (* classact-complete 3) 10))
  196.         (set comp-dirs  (/ (* classact-complete 4) 10))
  197.         (set comp-junod (/ (* classact-complete 5) 10))
  198.         (set comp-020   (/ (* classact-complete 6) 10))
  199.         (set comp-gad   (/ (* classact-complete 7) 10))
  200.         (set comp-im    (/ (* classact-complete 8) 10))
  201.         (set comp-prefs (/ (* classact-complete 9) 10))
  202.     
  203.         ; has the user installed ClassAct in CLASSACT: ?
  204.         (set @classact-dest (getassign "CLASSACT" "A"))
  205.         (if (= @classact-dest "") (set @classact-dest "SYS:Classes"))
  206.         
  207.         ; is ClassAct already in SYS:Classes ?
  208.         (if (or (not (exists (tackon @classact-dest "Gadgets/layout.gadget") (noreq)))
  209.                 (= @user-level 2))
  210.             ; no, ask where it should be placed
  211.             (set @classact-dest
  212.                 (askdir
  213.                     (prompt #classdest-prompt)
  214.                     (help #classdest-help)
  215.                     (default @classact-dest)
  216.                     (newpath)
  217.                 )
  218.             )
  219.         )
  220.         
  221.         (complete comp-dest)
  222.         
  223.         (if (<> (run (cat (tackon @classact-source "C/CheckAssign") " LIBS: " @classact-dest)) 0)
  224.             (
  225.                 (message #noclasses-message)
  226.                 (if (not (exists @classact-dest))
  227.                     (makedir @classact-dest (prompt (cat #creating-dir @classact-dest)))
  228.                 )
  229.                 (set @addassign (cat "Assign >NIL: LIBS: " @classact-dest " ADD\n"))
  230.                 (startup "CLASSACT"
  231.                     (command @addassign)
  232.                     (prompt (cat #adding-1 @classact-dest #adding-2))
  233.                     (help #adding-help)
  234.                 )
  235.                 (run (@addassign))
  236.             )
  237.         )
  238.         
  239.         (complete comp-libs)
  240.         
  241.         (set @classact-gadgets (tackon @classact-dest "Gadgets"))
  242.         (set @classact-images (tackon @classact-dest "Images"))
  243.         
  244.         (if (not (exists @classact-gadgets (noreq)))
  245.             (makedir @classact-images
  246.                 (prompt (cat #creating-dir @classact-gadgets))
  247.             )
  248.         )
  249.         
  250.         (if (not (exists @classact-images (noreq)))
  251.             (makedir @classact-images
  252.                 (prompt (cat #creating-dir @classact-images))
  253.             )
  254.         )
  255.         
  256.         (complete comp-dirs)
  257.         
  258.         (if (exists "SYS:Classes/Gadgets/button.gadget")
  259.             (if (and (= 2752514 (getversion "SYS:Classes/Gadgets/button.gadget"))
  260.                     (= 4868 (getsize "SYS:Classes/Gadgets/button.gadget")))
  261.                 (if (askbool (prompt #junod-button) (help @askbool-help) (default 1))
  262.                     (
  263.                         (rename "SYS:Classes/Gadgets/button.gadget" "SYS:Classes/Gadgets/button.gadget.v42")
  264.                         (message #junod-backed)
  265.                     )
  266.                     (message #junod-kept)
  267.                 )
  268.             )
  269.         )
  270.         
  271.         (complete comp-junod)
  272.         
  273.         (if (and (and cpu020 v39) (exists (tackon @classact-source "Classes/Gadgets/layout.gadget.020")))
  274.             (set classes-020 (askbool (prompt #classes-020) (help #help-020) (default 1)))
  275.             (set classes-020 0)
  276.         )
  277.  
  278.         (complete comp-020)
  279.         
  280.         (set @source-path (tackon @classact-source "Classes/Gadgets"))
  281.         (foreach @source-path "#?.gadget"
  282.             (
  283.                 (set thislib (tackon @source-path @each-name))
  284.                 (if (and classes-020 (exists (cat thislib ".020")))
  285.                     (set thislib (cat thislib ".020"))
  286.                 )
  287.                 (copylib (source thislib)
  288.                     (dest @classact-gadgets)
  289.                     (newname @each-name)
  290.                     (prompt (cat #installing @each-name))
  291.                     (help #classdest-help)
  292.                     (optional "force" "askuser")
  293.                 )
  294.             )
  295.         )
  296.         
  297.         (complete comp-gad)
  298.         
  299.         (set @source-path (tackon @classact-source "Classes/Images"))
  300.         (foreach @source-path "#?.image"
  301.             (
  302.                 (set thislib (tackon @source-path @each-name))
  303.                 (if (and classes-020 (exists (cat thislib ".020")))
  304.                     (set thislib (cat thislib ".020"))
  305.                 )
  306.                 (copylib (source thislib)
  307.                     (dest @classact-images)
  308.                     (newname @each-name)
  309.                     (prompt (cat #installing @each-name))
  310.                     (help #classdest-help)
  311.                     (optional "force" "askuser")
  312.                 )
  313.             )
  314.         )
  315.         
  316.         (complete comp-im)
  317.  
  318.         (set @source-path (tackon @classact-source "Classes"))
  319.         (foreach @source-path "#?.class"
  320.             (
  321.                 (set thislib (tackon @source-path @each-name))
  322.                 (if (and classes-020 (exists (cat thislib ".020")))
  323.                     (set thislib (cat thislib ".020"))
  324.                 )
  325.                 (copylib (source thislib)
  326.                     (dest @classact-dest)
  327.                     (newname @each-name)
  328.                     (prompt (cat #installing @each-name))
  329.                     (help #classdest-help)
  330.                     (optional "force" "askuser")
  331.                 )
  332.             )
  333.         )
  334.     )
  335.     )
  336.     (if (exists (tackon @classact-source "Prefs/ClassAct")) ; The archive contains ClassAct prefs tools
  337.     (
  338.         (message #caprefs-message)
  339.         
  340.         (copylib (source (tackon @classact-source "Prefs/CAPrefs")) 
  341.             (dest "C:") 
  342.             (prompt (cat #installing "CAPrefs"))
  343.         )
  344.         (copylib (source (tackon @classact-source "Prefs/ClassAct"))
  345.             (dest "SYS:Prefs")
  346.             (prompt (cat #installing "ClassAct Prefs"))
  347.             (infos)
  348.         )
  349.         
  350.         (complete comp-prefs)
  351.         
  352.         (if (not (exists "ENVARC:ClassAct" (noreq)))
  353.             (
  354.                 (makedir "ENVARC:ClassAct"
  355.                     (prompt (cat #creating-dir "ENVARC:ClassAct"))
  356.                 )
  357.                 (textfile (dest "ENVARC:ClassAct/ClassAct")
  358.                     (append "")
  359.                 )
  360.             )
  361.         )
  362.         (set caprefs-cmd "C:CAPrefs >NIL:\n")
  363.  
  364.         (startup "CAPREFS"
  365.             (prompt (cat #caprefs-startup-1 caprefs-cmd #caprefs-startup-2))
  366.             (help #caprefs-message)
  367.             (command caprefs-cmd)
  368.         )
  369.     )
  370.     )
  371.     
  372.     (if (or (exists "ClassAct.lha") (exists "ClassAct.lzx"))
  373.         (run "C:Delete RAM:ClassAct ALL"
  374.             (prompt #deleting-cltmp)
  375.         )
  376.     )
  377.  
  378.     (complete classact-complete)
  379. )
  380.  
  381. ; ************** END OF CLASSACT INSTALL PROCEDURE. COPY THE BLOCK ABOVE
  382. ; ************** TO YOUR CLASSACT APPLICATION INSTALLER.
  383.  
  384. ;**************************************
  385. ;****** Install filetype icons ********
  386. ;**************************************
  387.  
  388. (procedure P_install-filetypes
  389.     (makedir "Thor:Filetypes" (infos))
  390.  
  391.     (set icon
  392.         (askchoice
  393.             (prompt
  394.                 "Please select what icon set THOR will use internally on MIME attachments.\n"
  395.                 "(we recommand that you select normal icons unless you run more than 8 colours "
  396.                 "on the THOR screen).")
  397.             (help
  398.                 "If you use MagicWB on your Workbench, "
  399.                 "you might want to install the special MagicWB icons.\n\n"
  400.                 "Likewise, if you use NewIcons on your Workbench, "
  401.                 "you might want to install the special NewIcons icons.")
  402.             (choices "Normal icons" "Small MagicWB icons" "MagicWB icons" "NewIcons icons")
  403.             (default 0)
  404.         )
  405.     )
  406.     (if (= icon 0)
  407.         (
  408.             (copyfiles
  409.                 (prompt "Copying Normal filetype icons...")
  410.                 (source "Thor_Install:FiletypesNORMAL")
  411.                 (dest "Thor:filetypes")
  412.                 (pattern "#?")
  413.                 (noposition)
  414.                 (nogauge)
  415.             )
  416.         )
  417.     )
  418.     (if (= icon 1)
  419.         (
  420.             (copyfiles
  421.                 (prompt "Copying small MagicWB filetype icons...")
  422.                 (source "Thor_Install:FiletypesMWBsmall")
  423.                 (dest "Thor:filetypes")
  424.                 (pattern "#?")
  425.                 (noposition)
  426.                 (nogauge)
  427.             )
  428.         )
  429.     )
  430.     (if (= icon 2)
  431.         (
  432.             (copyfiles
  433.                 (prompt "Copying MagicWB filetype icons...")
  434.                 (source "Thor_Install:Filetypes")
  435.                 (dest "Thor:filetypes")
  436.                 (pattern "#?")
  437.                 (noposition)
  438.                 (nogauge)
  439.             )
  440.         )
  441.     )
  442.     (if (= icon 3)
  443.         (
  444.             (copyfiles
  445.                 (prompt "Copying NewIcon filetype icons...")
  446.                 (source "Thor_Install:FiletypesNI")
  447.                 (dest "Thor:filetypes")
  448.                 (pattern "#?")
  449.                 (noposition)
  450.                 (nogauge)
  451.             )
  452.         )
  453.     )
  454.     ;*****************************
  455.     ;*** Set default viewers *****
  456.     ;*****************************
  457.  
  458.     (set picviewer
  459.         (askstring
  460.             (prompt
  461.                 "Please type the name (with full path, if needed) "
  462.                 "of the picture viewer you will use as external viewer of attached "
  463.                 "pictures in Thor. If left blank, Multiview will be used.")
  464.             (help "External picture viewer to be used in Thor.")
  465.             (default "")
  466.         )
  467.     )
  468.     (if (<> picviewer "")
  469.         ( ; Then
  470.             (tooltype 
  471.                 (dest "Thor:Filetypes/def_picture")
  472.                 (setdefaulttool picviewer)
  473.             )
  474.         )
  475.     )
  476.     (set animviewer
  477.         (askstring
  478.             (prompt
  479.                 "Please type the name (with full path, if needed) "
  480.                 "of the animation viewer you will use as external viewer of attached "
  481.                 "animations in Thor. If left blank, Multiview will be used.")
  482.             (help "External animation viewer to be used in Thor.")
  483.             (default "")
  484.         )
  485.     )
  486.     (if (<> animviewer "")
  487.         ( ; Then
  488.             (tooltype 
  489.                 (dest "Thor:Filetypes/def_anim")
  490.                 (setdefaulttool animviewer)
  491.             )
  492.         )
  493.     )
  494.     (set soundplayer
  495.         (askstring
  496.             (prompt
  497.                 "Please type the name (with full path, if needed) "
  498.                 "of the sound player you will use as external player of attached "
  499.                 "sounds in Thor. If left blank, Multiview will be used.")
  500.             (help "External sound player to be used in Thor.")
  501.             (default "")
  502.         )
  503.     )
  504.     (if (<> soundplayer "")
  505.         ( ; Then
  506.             (tooltype 
  507.                 (dest "Thor:Filetypes/def_sound")
  508.                 (setdefaulttool soundplayer)
  509.             )
  510.         )
  511.     )
  512.     (set textviewer
  513.         (askstring
  514.             (prompt
  515.                 "Please type the name (with full path, if needed) "
  516.                 "of the text viewer you will use as external viewer of attached "
  517.                 "text files in Thor. If left blank, Multiview will be used.")
  518.             (help "External text viewer to be used in Thor.")
  519.             (default "")
  520.         )
  521.     )
  522.     (if (<> textviewer "")
  523.         ( ; Then
  524.             (tooltype 
  525.                 (dest "Thor:Filetypes/def_text")
  526.                 (setdefaulttool textviewer)
  527.             )
  528.         )
  529.     )
  530.     (set docviewer
  531.         (askstring
  532.             (prompt
  533.                 "Please type the name (with full path, if needed) "
  534.                 "of the documentation (eg. AmigaGuide ) viewer you will use as external viewer of attached "
  535.                 "documentation files in Thor. If left blank, Multiview will be used.")
  536.             (help "External documentation viewer to be used in Thor.")
  537.             (default "")
  538.         )
  539.     )
  540.     (if (<> docviewer "")
  541.         ( ; Then
  542.             (tooltype 
  543.                 (dest "Thor:Filetypes/def_doc")
  544.                 (setdefaulttool docviewer)
  545.             )
  546.         )
  547.     )
  548. )
  549.  
  550. ; ---------------------------------------------------------------------------
  551.  
  552. (procedure WAITX (set X 1) ( (while (< X 100)  (set X (+ X 1)) )  ) )
  553.  
  554. (working "\n\n\n\n\n\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  555. (working "\n\n\n\n\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  556. (working "\n\n\n\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  557. (working "\n\n\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  558. (working "\n\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  559. (working "\n\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  560. (working "\n\n\n\n\n\n\nTHOR 2.5") (WAITX)
  561. (working "\n\n\n\n\n\nTHOR 2.5") (WAITX)
  562. (working "\n\n\n\n\nTHOR 2.5") (WAITX)
  563. (working "\n\n\n\nTHOR 2.5") (WAITX)
  564. (working "\n\n\nTHOR 2.5") (WAITX)
  565. (working "\n\nTHOR 2.5") (WAITX)
  566. (working "\n\nTHOR 2.5") (WAITX)
  567. (working "\nTHOR 2.5") (WAITX)
  568. (working "\nTHOR 2.5") (WAITX)
  569.  
  570. (working "\nTHOR 2.5\n\n\n\n\n\n\n\n\n\n\n\nby") (WAITX)
  571. (working "\nTHOR 2.5\n\n\n\n\n\n\n\n\n\n\nby") (WAITX)
  572. (working "\nTHOR 2.5\n\n\n\n\n\n\n\n\n\nby") (WAITX)
  573. (working "\nTHOR 2.5\n\n\n\n\n\n\n\n\nby") (WAITX)
  574. (working "\nTHOR 2.5\n\n\n\n\n\n\n\nby") (WAITX)
  575. (working "\nTHOR 2.5\n\n\n\n\n\n\nby") (WAITX)
  576. (working "\nTHOR 2.5\n\n\n\n\n\nby") (WAITX)
  577. (working "\nTHOR 2.5\n\n\n\n\nby") (WAITX)
  578. (working "\nTHOR 2.5\n\n\n\nby") (WAITX)
  579. (working "\nTHOR 2.5\n\n\nby") (WAITX)
  580. (working "\nTHOR 2.5\n\n\nby") (WAITX)
  581.  
  582. (working "\nTHOR 2.5\n\n\nby\n\n\n\n\n\n\n\n\nUltima Thule Software") (WAITX) 
  583. (working "\nTHOR 2.5\n\n\nby\n\n\n\n\n\n\n\nUltima Thule Software") (WAITX) 
  584. (working "\nTHOR 2.5\n\n\nby\n\n\n\n\n\n\nUltima Thule Software") (WAITX) 
  585. (working "\nTHOR 2.5\n\n\nby\n\n\n\n\n\nUltima Thule Software") (WAITX) 
  586. (working "\nTHOR 2.5\n\n\nby\n\n\n\n\nUltima Thule Software") (WAITX) 
  587. (working "\nTHOR 2.5\n\n\nby\n\n\n\nUltima Thule Software") (WAITX) 
  588. (working "\nTHOR 2.5\n\n\nby\n\n\nUltima Thule Software") (WAITX) 
  589.  
  590. (message "\n\n\nTHOR 2.5\n\n\nby\n\n\nUltima Thule Software") (WAITX) 
  591.  
  592. (welcome)
  593.  
  594. ; first reset the user level so that the novice can see whats going on
  595.     (save_default_level)
  596.     (expert_level)
  597.  
  598. ;Make assign to install from
  599.     (makeassign "Thor_Install" "" (safe))
  600.  
  601.  
  602. ;******************
  603. ;** Check Memory **
  604. ;******************
  605.  
  606. (run "Avail flush")
  607.  
  608. (set Running (run "Thor_Install:CheckForLib"))
  609.  
  610. (while (= Running 20)
  611.       ((Message newline "Thor (or a related program) seems to be running, you MUST close it NOW."    
  612.         newline "If you don't, the installation will fail!")
  613.     (run "Avail flush")
  614.     (set Running (run "Thor_Install:CheckForLib")))
  615. )
  616.  
  617. ;************************
  618. ;** Start Installation **
  619. ;************************
  620.  
  621. (if (exists "ENV:THOR/THORPath" (noreq))
  622.     ; Then
  623.     (
  624.         (if (set Thor_Dir (getenv "THOR/THORPath"))
  625.             (
  626.                 (set Test_lf (substr Thor_Dir (- (strlen Thor_Dir) 1) ) )
  627.                 (if (= Test_lf "\n")
  628.                     (set Thor_Dir (substr Thor_Dir 0 (- (strlen Thor_Dir) 1) ) )
  629.                 )
  630.                 (set Thor_Dir (expandpath Thor_Dir))
  631.                 (makeassign "Thor" Thor_Dir (safe))
  632.             )
  633.             ; Else
  634.             (
  635.                 (if (exists "Thor:libs/bbsread.library" (noreq))
  636.                     (
  637.                         ; Then
  638.                         (    
  639.                             (set Thor_Dir (expandpath "Thor:"))
  640.                         )
  641.                         ; Else
  642.                         (
  643.                             (set end_text "Please use the InstallThor script for a first-time installation.")
  644.                             (abort end_text)
  645.                         )
  646.                     )
  647.                 )
  648.             )
  649.         )
  650.     )
  651.     ; Else
  652.     (
  653.         (if (exists "Thor:libs/bbsread.library" (noreq))
  654.             ; Then
  655.             (    
  656.                 (set Thor_Dir (expandpath "Thor:"))
  657.             )
  658.             ; Else
  659.             (
  660.                 (set end_text "Please use the InstallThor script for a first-time installation.")
  661.                 (abort end_text)
  662.             )
  663.         )
  664.     )
  665. )
  666.  
  667. (if (exists "ENV:THOR/THORPath" (noreq))
  668.     ; Then
  669.     (
  670.         (if (set BBSData_Dir (getenv "THOR/BBSDataPath"))
  671.             (
  672.                 (set BBSData_Dir (substr BBSData_Dir 0 (- (strlen BBSData_Dir) 1)))
  673.                 (set BBSData_Dir (expandpath BBSData_Dir))
  674.                 (makeassign "BBSData" BBSData_Dir (safe))
  675.             )
  676.             ; Else
  677.             (
  678.                 (if (exists "BBSData:global.config" (noreq))
  679.                     ; Then
  680.                     (
  681.                         (set BBSData_Dir (expandpath "BBSData:"))
  682.                     )
  683.                     ; Else
  684.                     (
  685.                         (set end_text "Please use the InstallThor script for a first-time installation.")
  686.                         (abort end_text)
  687.                     )
  688.                 )
  689.             )
  690.         )
  691.     )
  692.     ; Else
  693.     (
  694.         (if (exists "BBSData:global.config" (noreq))
  695.             ; Then
  696.             (
  697.                 (set BBSData_Dir (expandpath "BBSData:"))
  698.             )
  699.             ; Else
  700.             (
  701.                 (set end_text "Please use the InstallThor script for a first-time installation.")
  702.                 (abort end_text)
  703.             )
  704.         )
  705.     )
  706. )
  707.  
  708. ;**********************************************
  709. ;** Move ARexx scripts to another directory..**
  710. ;**********************************************
  711.  
  712. (if (askbool
  713.         (prompt
  714.             "The THOR ARexx script distribution has changed. "
  715.             "The old directory with ARexx scripts can be moved "
  716.             "to a Rexx_Old directory. \n\n"
  717.             "Press 'Yes' to continue with backup of old ARexx scripts.")
  718.         (help
  719.             "The installer has determined that you may already have a " 
  720.             "copy of Thor installed on your system. "
  721.             "ARexx files from a previous installation can be moved to "
  722.             "a safe directory."
  723.         )
  724.         (default 1)
  725.     )
  726.     ; Then
  727.     ( 
  728.         (makedir "THOR:Rexx_Old")
  729.         (copyfiles
  730.             (source "Thor:rexx")
  731.             (dest "THOR:rexx_old")
  732.             (all)
  733.         )
  734.         (working omp "Deleting old ARexx files...")
  735.         (run "Delete THOR:rexx/~(postinglists|#?.cfg|#?.adr) all")
  736.     )
  737. )
  738.  
  739.  
  740. ;**********************************************
  741. ;** See if SortMail.cfg needs to be moved. ****
  742. ;**********************************************
  743.  
  744. (set #move-cfg "\nThe SortMail configuration was found in ENV(ARC):Thor/SortMail.cfg.\n\nAs SortMail 3.3 requires the configuration to be in the system's directory it has now been moved to:\n\n")
  745. (set #old-cfg "\nAn old SortMail configuration was found in ENV(ARC):Thor/SortMail.cfg.\n\nThe format of the configuration files have changed in SortMail 3.0 and higher, so a new configuration will have to be created from scratch using the new CfgSortMail.thor.\n\nWhen you have reconfigured SortMail, please delete ENVARC:Thor/SortMail.cfg.")
  746. (set #chk-fail "\nFailed to run checkver.rexx!\n\nPlease check that SYS:RexxC/rx and SYS:RexxC/WaitForPort exist and make sure you have started SYS:System/RexxMast.")
  747.  
  748. (if (exists "ENV:Thor/SortMail.cfg" (noreq) )
  749.     (
  750.         (set #version (run "SYS:RexxC/rx Thor_Install:checkver.rexx") )
  751.  
  752.         (if (= #version 1)
  753.             (message #old-cfg)
  754.         )
  755.  
  756.         (if (= #version 2)
  757.             (
  758.                 (set #sys-dir (getenv "SM_System") )
  759.                 (set #move-cfg (cat #move-cfg #sys-dir) )
  760.                 (message #move-cfg)
  761.                 (run "Delete ENV:SM_System QUIET")
  762.             )
  763.         )
  764.  
  765.         (if (> #version 2)
  766.             (message #chk-fail)
  767.         )
  768.     )
  769. )
  770.  
  771. ;**********************************************
  772. ;** Hostile deletion of old files here.. ******
  773. ;**********************************************
  774.  
  775. (expert_level)
  776.  
  777. (run "Delete libs:bbsread.library")
  778. (run "Delete libs:bbsreadcnv2.library")
  779. (run "Delete l:bbsread-handler")
  780. (run "Delete l:bbsreadrexx-handler")
  781. (run "Delete THOR:bin/initsoup")
  782. (run "Delete THOR:bin/configuucp")
  783.  
  784. ;******************
  785. ;** Locale stuff **
  786. ;******************
  787.  
  788. (default_level)
  789.  
  790. (set catalog
  791.    (askoptions
  792.       (prompt "What languages would you like to install ?\n"
  793.             "English is the built-in language.")
  794.       (help
  795.             "This will install locale files for other languages than English. "
  796.             "You can set the prefered language on Workbench and in Thor by"
  797.             "using the prefs:locale tool." newline @askchoice-help
  798.       )
  799.       (choices "Norsk" "Dansk" "Svenska" "Deutsch" "Français" "Italiano" "Nederlands" "Català" "Srpski" "Soumi")
  800.       (default 0)
  801.    )
  802. )
  803.  
  804. ; Delete previous installed catalog files.
  805.  
  806. (run "delete thor:catalogs all")
  807.  
  808. (makedir "thor:catalogs")
  809.  
  810. (if (bitand 1 catalog)
  811.     (copyfiles
  812.         (source "Thor_Install:catalogs/norsk")
  813.         (dest "thor:catalogs/norsk")
  814.         (all)
  815.     )
  816. )
  817.  
  818. (if (bitand 2 catalog)
  819.     (copyfiles
  820.         (source "Thor_Install:catalogs/dansk")
  821.         (dest "thor:catalogs/dansk")
  822.         (all)
  823.     )
  824. )
  825.  
  826. (if (bitand 4 catalog)
  827.     (copyfiles
  828.         (source "Thor_Install:catalogs/svenska")
  829.         (dest "thor:catalogs/svenska")
  830.         (all)
  831.     )
  832. )
  833.  
  834. (if (bitand 8 catalog)
  835.     (copyfiles
  836.         (source "Thor_Install:catalogs/deutsch")
  837.         (dest "thor:catalogs/deutsch")
  838.         (all)
  839.     )
  840. )
  841.  
  842. (if (bitand 16 catalog)
  843.     (copyfiles
  844.         (source "Thor_Install:catalogs/français")
  845.         (dest "thor:catalogs/français")
  846.         (all)
  847.     )
  848. )
  849.  
  850. (if (bitand 32 catalog)
  851.     (copyfiles
  852.         (source "Thor_Install:catalogs/italiano")
  853.         (dest "thor:catalogs/italiano")
  854.         (all)
  855.     )
  856. )
  857.  
  858. (if (bitand 64 catalog)
  859.     (copyfiles
  860.         (source "Thor_Install:catalogs/nederlands")
  861.         (dest "thor:catalogs/nederlands")
  862.         (all)
  863.     )
  864. )
  865.  
  866. (if (bitand 128 catalog)
  867.     (copyfiles
  868.         (source "Thor_Install:catalogs/català")
  869.         (dest "thor:catalogs/català")
  870.         (all)
  871.     )
  872. )
  873.  
  874. (if (bitand 256 catalog)
  875.     (copyfiles
  876.         (source "Thor_Install:catalogs/srpski")
  877.         (dest "thor:catalogs/srpski")
  878.         (all)
  879.     )
  880. )
  881.  
  882. (if (bitand 512 catalog)
  883.     (copyfiles
  884.         (source "Thor_Install:catalogs/suomi")
  885.         (dest "thor:catalogs/suomi")
  886.         (all)
  887.     )
  888. )
  889.  
  890. ;***********************************
  891. ;***** GET FIRST DISK IN HERE ******
  892. ;***********************************
  893.  
  894. ; first copy over the stuff
  895. (working omp "Decompressing and copying Thor files.")
  896.  
  897. (run "Thor_Install:lha -a x Thor_Install:thor.lha THOR:" )
  898.  
  899. ;*********************
  900. ;** reqtools.libary **
  901. ;*********************
  902.  
  903. (copylib
  904.     (prompt "Copying ReqTools library")
  905.     (help "This will copy the ReqTools library." newline @copylib-help)
  906.     (source "Thor_Install:reqtools.library")
  907.     (dest "libs:")
  908. )
  909.  
  910. ;************************
  911. ;**  Copy the keyfile  **
  912. ;************************
  913. (if (exists "Thor_Install:THOR.key" (noreq))
  914. ; Then
  915.     (copyfiles
  916.         (source "Thor_Install:THOR.key")
  917.         (dest "THOR:")
  918.     )
  919. )
  920.         
  921. (run "thor:bin/InitCharsets")
  922.  
  923. (expert_level)
  924.  
  925. (set defpath (pathonly @icon))
  926.  
  927. (if    (askbool
  928.         (prompt newline 
  929.                         "Would you like to install the optional ARexx "
  930.                         "scripts for THOR? "
  931.         (help newline
  932.                         "This section of the installation is dedicated "
  933.                         "to installation of some optional ARexx scripts.\n\n "
  934.                         "Select YES if you want to continue with this "
  935.                         "installation, otherwise NO"))
  936.         (default 1)
  937.     )
  938.     ; Then 
  939.     (
  940.         (set isthere 20)
  941.         (while (= 20 isthere)
  942.             (set arexxfile 
  943.                 (askfile
  944.                     (prompt (cat  
  945.                             "Please select the ARexx archive for "#version"\n"
  946.                             "(Usually named '"#arexxpackname"').\n\n"
  947.                             "It will be unarchived automatically."))
  948.                     (help @askfile-help)
  949.                     (default (tackon defpath #arexxpackname))
  950.                 )
  951.             )
  952.             ; verify that the file exists
  953.             (if (exists arexxfile)
  954.                 (
  955.                     (set isthere 0)
  956.                     (set defpath (pathonly arexxfile))
  957.                     (set runfile3 (cat runfile3 "Thor_Install:lha -a x " quote arexxfile quote " Thor:rexx/"))
  958.                     (set failed (run runfile3))
  959.                     (if (<> 0 failed)
  960.                         (
  961.                             ((set failed_text "Unarchiving of the ARexx archive failed.")
  962.                                 (message end_text))
  963.                         )
  964.                     )
  965.                 )
  966.                 ; else
  967.                 (
  968.                     (if    (askbool
  969.                                (prompt 
  970.                                 "File doesn't exist.\n\nDo you want to try again?"
  971.                                 (default 1)
  972.                                 (help "YES to select the correct file, or NO to continue without installing this archive.")
  973.                             )
  974.                         )
  975.                         ; Then
  976.                         (
  977.                             (set isthere 20)
  978.                         )
  979.                         ; Else
  980.                         (
  981.                             (set isthere 0)
  982.                         )
  983.                     )
  984.                 )
  985.             )
  986.         )
  987.     )
  988. )
  989.  
  990. (if (exists "Thor_Install:bin/parseqwk" (noreq))
  991.     ; Then
  992.     (
  993.         (set bbspack 1)
  994.     )
  995.     ; Else
  996.     (
  997.         (if    (askbool
  998.                 (prompt newline 
  999.                                 "Would you like to install the modules for "
  1000.                                 "QWK, Fido, Hippo, Bluewave, ABBS/MBBS and Omen "
  1001.                                 "to be used with Bulletin Board Systems?\n\n "
  1002.                                 "(you will be able to select which modules to "
  1003.                                 "install later in this installation procedure).")
  1004.                 (help newline
  1005.                                 "This section of the installation is dedicated "
  1006.                                 "to installation of some common formats "
  1007.                                 "required if you want to use THOR with BBSes.\n\n"
  1008.                                 "Select YES if you want to continue with this "
  1009.                                 "installation, otherwise NO")
  1010.                 (default 1)
  1011.             )
  1012.             ; Then 
  1013.             (
  1014.                 (set isthere 20)
  1015.                 (while (= 20 isthere)
  1016.                     (set bbsfile 
  1017.                         (askfile
  1018.                             (prompt (cat "Please select the BBS archive for "#version"\n"
  1019.                                     "(Usually named '"#bbspackname"').\n\n"
  1020.                                     "It will be unarchived automatically."))
  1021.                             (help @askfile-help)
  1022.                             (default (tackon defpath #bbspackname))
  1023.                         )
  1024.                     )
  1025.                     ; verify that the file exists
  1026.                     (if (exists bbsfile)
  1027.                         (
  1028.                             (set isthere 0)
  1029.                             (set runfile (cat runfile "Thor_Install:lha -a x " quote bbsfile quote " Thor_Install:"))
  1030.                             (set failed (run runfile))
  1031.                             (if (<> 0 failed)
  1032.                                 (
  1033.                                     ((set failed_text "Unarchiving of the BBS archive failed.")
  1034.                                         (message end_text))
  1035.                                 )
  1036.                                 ; Else
  1037.                                 (
  1038.                                     (set bbspack 1)
  1039.                                 )
  1040.                             )
  1041.                         )
  1042.                         ; else
  1043.                         (
  1044.                             (if    (askbool
  1045.                                           (prompt 
  1046.                                         "File doesn't exist.\n\nDo you want to try again?"
  1047.                                         (default 1)
  1048.                                         (help "YES to select the correct file, or NO to continue without installing this archive.")
  1049.                                     )
  1050.                                 )
  1051.                                 ; Then
  1052.                                 (
  1053.                                     (set isthere 20)
  1054.                                 )
  1055.                                 ; Else
  1056.                                 (
  1057.                                     (set isthere 0)
  1058.                                 )
  1059.                             )
  1060.                         )
  1061.                     )
  1062.                 )
  1063.             )
  1064.         )
  1065.     )
  1066. )
  1067.  
  1068. (if (exists "Thor_Install:bin/gettcp" (noreq))
  1069.     ; Then
  1070.     (
  1071.         (set inetpack 1)
  1072.     )
  1073.     ; Else
  1074.     (
  1075.         (if    (askbool
  1076.                 (prompt newline 
  1077.                                 "Would you like to install the modules for "
  1078.                                 "UUCP, SOUP, NNTP, SMTP and POP3 "
  1079.                                 "to be used with Internet?\n\n"
  1080.                                 "(you will be able to select which modules to "
  1081.                                 "install later in this installation procedure).")
  1082.                 (help newline
  1083.                                 "This section of the installation is dedicated "
  1084.                                 "to installation of some common formats "
  1085.                                 "required if you want to use THOR with Internet.\n\n"
  1086.                                 "Select YES if you want to continue with this "
  1087.                                 "installation, otherwise NO")
  1088.                 (default 1)
  1089.             )
  1090.             ; Then 
  1091.             (
  1092.                 (set isthere 20)
  1093.                 (while (= 20 isthere)
  1094.                     (set inetfile 
  1095.                         (askfile
  1096.                             (prompt (cat  
  1097.                                     "Please select the Internet archive for "#version"\n"
  1098.                                     "(Usually named '"#inetpackname"').\n\n"
  1099.                                     "It will be unarchived automatically."))
  1100.                             (help @askfile-help)
  1101.                             (default (tackon defpath #inetpackname))
  1102.                         )
  1103.                     )
  1104.                     ; verify that the file exists
  1105.                     (if (exists inetfile)
  1106.                         (
  1107.                             (set isthere 0)
  1108.                             (set runfile2 (cat runfile2 "Thor_Install:lha -a x " quote inetfile quote " Thor_Install:"))
  1109.                             (set failed (run runfile2))
  1110.                             (if (<> 0 failed)
  1111.                                 (
  1112.                                     ((set failed_text "Unarchiving of the Internet archive failed.")
  1113.                                         (message end_text))
  1114.                                 )
  1115.                                 ; Else
  1116.                                 (
  1117.                                     (set inetpack 1)
  1118.                                 )
  1119.                             )
  1120.                         )
  1121.                         ; else
  1122.                         (
  1123.                             (if    (askbool
  1124.                                           (prompt 
  1125.                                         "File doesn't exist.\n\nDo you want to try again?"
  1126.                                         (default 1)
  1127.                                         (help "YES to select the correct file, or NO to continue without installing this archive.")
  1128.                                     )
  1129.                                 )
  1130.                                 ; Then
  1131.                                 (
  1132.                                     (set isthere 20)
  1133.                                 )
  1134.                                 ; Else
  1135.                                 (
  1136.                                     (set isthere 0)
  1137.                                 )
  1138.                             )
  1139.                         )
  1140.                     )
  1141.                 )
  1142.             )
  1143.         )
  1144.     )
  1145. )
  1146.  
  1147. (if (= bbspack 1)
  1148.     (
  1149.         (set bbs_type
  1150.            (askoptions
  1151.               (prompt
  1152.                         "Please select which BBS modules "
  1153.                         "you want to install.")
  1154.               (help
  1155.                     "What system type for BBS usage that should be "
  1156.                     "installed can be selected here."
  1157.               )
  1158.  
  1159.               (choices
  1160.                     "QWK        - Normal QWK"
  1161.                     "Fido       - Normal Fidonet"
  1162.                     "BlueWave   - Normal BlueWave"
  1163.                     "ABBS       - Normal ABBS"
  1164.                     "ABBS_QWK   - ABBS with QWK support"
  1165.                     "MBBS       - Normal MBBS"
  1166.                     "Hippo/BBBS - Normal Hippo V2 and Hippo on BBBS"
  1167.                     "Omen       - Normal Omen"
  1168.               )
  1169.               (default -1)
  1170.            )
  1171.         )
  1172.         (copyfiles
  1173.             (source "Thor_Install:scripts")
  1174.             (dest "THOR:scripts")
  1175.             (pattern "#?BBS#?")
  1176.         )
  1177.         (if (bitand 1 bbs_type)
  1178.             (
  1179.                 (copyfiles
  1180.                     (source "Thor_Install:bin")
  1181.                     (dest "THOR:bin")
  1182.                     (pattern "#?QWK")
  1183.                 )
  1184.                 (copyfiles
  1185.                     (source "Thor_Install:s/cfgqwk")
  1186.                     (dest "THOR:s")
  1187.                 )
  1188.                 (execute "thor:s/cfgqwk")
  1189.             )
  1190.         )
  1191.         (if (bitand 2 bbs_type)
  1192.             (
  1193.                 (copyfiles
  1194.                     (source "Thor_Install:bin")
  1195.                     (dest "THOR:bin")
  1196.                     (pattern "#?FIDO")
  1197.                 )
  1198.                 (copyfiles
  1199.                     (source "Thor_Install:s")
  1200.                     (dest "THOR:s")
  1201.                     (pattern "cfgfido#?")
  1202.                 )
  1203.                 (execute "thor:s/cfgfido")
  1204.                 (execute "thor:s/cfgfido_export")
  1205.             )
  1206.         )
  1207.         (if (bitand 4 bbs_type)
  1208.             (
  1209.                 (copyfiles
  1210.                     (source "Thor_Install:bin")
  1211.                     (dest "THOR:bin")
  1212.                     (pattern "#?BLUE")
  1213.                 )
  1214.                 (copyfiles
  1215.                     (source "Thor_Install:s/cfgblue")
  1216.                     (dest "THOR:s")
  1217.                 )
  1218.                 (execute "thor:s/cfgblue")
  1219.             )
  1220.         )
  1221.         (if (bitand 8 bbs_type)
  1222.             (
  1223.                 (copyfiles
  1224.                     (source "Thor_Install:bin/packambbs")
  1225.                     (dest "THOR:bin")
  1226.                 )
  1227.                 (copyfiles
  1228.                     (source "Thor_Install:bin/parsemsg")
  1229.                     (dest "THOR:bin")
  1230.                 )
  1231.                 (copyfiles
  1232.                     (source "Thor_Install:s/cfgabbs")
  1233.                     (dest "THOR:s")
  1234.                 )
  1235.                 (execute "thor:s/cfgabbs")
  1236.             )
  1237.         )
  1238.         (if (bitand 16 bbs_type)
  1239.             (
  1240.                 (copyfiles
  1241.                     (source "Thor_Install:bin")
  1242.                     (dest "THOR:bin")
  1243.                     (pattern "#?QWK")
  1244.                 )
  1245.                 (copyfiles
  1246.                     (source "Thor_Install:s/cfgabbs_qwk")
  1247.                     (dest "THOR:s")
  1248.                 )
  1249.                 (execute "thor:s/cfgabbs_qwk")
  1250.             )
  1251.         )
  1252.         (if (bitand 32 bbs_type)
  1253.             (
  1254.                 (copyfiles
  1255.                     (source "Thor_Install:bin/packambbs")
  1256.                     (dest "THOR:bin")
  1257.                 )
  1258.                 (copyfiles
  1259.                     (source "Thor_Install:bin/parsemsg")
  1260.                     (dest "THOR:bin")
  1261.                 )
  1262.                 (copyfiles
  1263.                     (source "Thor_Install:s/cfgmbbs")
  1264.                     (dest "THOR:s")
  1265.                 )
  1266.                 (execute "thor:s/cfgmbbs")
  1267.             )
  1268.         )
  1269.         (if (bitand 64 bbs_type)
  1270.             (
  1271.                 (copyfiles
  1272.                     (source "Thor_Install:bin")
  1273.                     (dest "THOR:bin")
  1274.                     (pattern "#?hippo")
  1275.                 )
  1276.                 (copyfiles
  1277.                     (source "Thor_Install:s/cfghippo")
  1278.                     (dest "THOR:s")
  1279.                 )
  1280.                 (copyfiles
  1281.                     (source "Thor_Install:s/cfgbbbs")
  1282.                     (dest "THOR:s")
  1283.                 )
  1284.                 (execute "thor:s/cfghippo")
  1285.                 (execute "thor:s/cfgbbbs")
  1286.             )
  1287.         )
  1288.         (if (bitand 128 bbs_type)
  1289.             (
  1290.                 (copyfiles
  1291.                     (source "Thor_Install:bin")
  1292.                     (dest "THOR:bin")
  1293.                     (pattern "#?omen")
  1294.                 )
  1295.                 (copyfiles
  1296.                     (source "Thor_Install:s/cfgomen")
  1297.                     (dest "THOR:s")
  1298.                 )
  1299.                 (execute "thor:s/cfgomen")
  1300.             )
  1301.         )
  1302.     )
  1303. )
  1304.  
  1305. (if (= inetpack 1)
  1306.     (
  1307.         (set bbs_type
  1308.            (askoptions
  1309.               (prompt
  1310.                         "Please select which Internet modules "
  1311.                         "you want to install.")
  1312.               (help
  1313.                     "What system type for Internet usage that should be "
  1314.                     "installed can be selected here."
  1315.               )
  1316.  
  1317.               (choices
  1318.                         "TCP/TCP_ONLINE - POP3, SMTP and NNTP"
  1319.                         "SOUP/UQWK_SOUP - Normal SOUP and SOUP w/uqwk"
  1320.                         "UUCP           - Normal UUCP"
  1321.               )
  1322.               (default -1)
  1323.            )
  1324.         )
  1325.  
  1326.         (copyfiles
  1327.             (source "Thor_Install:libs/utnet.library")
  1328.             (dest "THOR:libs")
  1329.         )
  1330.  
  1331.         (copyfiles
  1332.             (source "Thor_Install:bin/InitRFC")
  1333.             (dest "THOR:bin")
  1334.         )
  1335.  
  1336.         (copyfiles
  1337.             (source "Thor_Install:scripts")
  1338.             (dest "THOR:scripts")
  1339.             (pattern "#?UQWK#?")
  1340.         )
  1341.  
  1342.         (if (bitand 1 bbs_type)
  1343.             (
  1344.                 (copyfiles
  1345.                     (source "Thor_Install:bin")
  1346.                     (dest "THOR:bin")
  1347.                     (pattern "#?(UUCP|TCP)")
  1348.                 )
  1349.                 (copyfiles
  1350.                     (source "Thor_Install:")
  1351.                     (dest "THOR:")
  1352.                     (pattern "ConnectTHOR#?")
  1353.                 )
  1354.                 (copyfiles
  1355.                     (source "Thor_Install:s/cfgtcp")
  1356.                     (dest "THOR:s")
  1357.                 )
  1358.                 (copyfiles
  1359.                     (source "Thor_Install:s/cfgtcp_online")
  1360.                     (dest "THOR:s")
  1361.                 )
  1362.                 (execute "thor:s/cfgtcp")
  1363.                 (execute "thor:s/cfgtcp_online")
  1364.                 (set tcptype 1)
  1365.             )
  1366.         )
  1367.         (if (bitand 2 bbs_type)
  1368.             (
  1369.                 (copyfiles
  1370.                     (source "Thor_Install:bin")
  1371.                     (dest "THOR:bin")
  1372.                     (pattern "#?SOUP")
  1373.                 )
  1374.                 (copyfiles
  1375.                     (source "Thor_Install:s")
  1376.                     (dest "THOR:s")
  1377.                     (pattern "#?soup")
  1378.                 )
  1379.                 (makedir "THOR:unix")
  1380.                 (copyfiles
  1381.                     (source "Thor_Install:unix")
  1382.                     (dest "THOR:unix")
  1383.                     (all)
  1384.                 )
  1385.                 (execute "thor:s/cfguqwk_soup")
  1386.                 (execute "thor:s/cfgsoup")
  1387.             )
  1388.         )
  1389.         (if (bitand 4 bbs_type)
  1390.             (
  1391.                 (copyfiles
  1392.                     (source "Thor_Install:bin")
  1393.                     (dest "THOR:bin")
  1394.                     (pattern "#?UUCP")
  1395.                 )
  1396.                 (copyfiles
  1397.                     (source "Thor_Install:s/cfguucp")
  1398.                     (dest "THOR:s")
  1399.                 )
  1400.                 (execute "thor:s/cfguucp")
  1401.                 (set uucptype 1)
  1402.             )
  1403.         )
  1404.     )
  1405. )
  1406.  
  1407. (install-classact)
  1408.  
  1409. (if (not (exists "Thor:Filetypes" (noreq)))
  1410.     (P_install-filetypes)
  1411. )
  1412.  
  1413. ;*****************************
  1414. ;******* CONVERT FLAGS *******
  1415. ;*****************************
  1416.  
  1417. (working omp "Updating flags for conferences.")
  1418.  
  1419. (run "thor:bin/convflags")
  1420.  
  1421. ;*****************************
  1422. ;***** WE ARE ALMOST DONE ****
  1423. ;*****************************
  1424.  
  1425. (if (> (exists ("sys:Utilities/more")) 0) (set #mcmd  "sys:Utilities/more") )
  1426. (if (> (exists ("c:multiview")) 0) (set #mcmd "c:multiview") )
  1427. (if (> (exists ("sys:Utilities/multiview")) 0) (set #mcmd  "sys:Utilities/multiview") )
  1428.  
  1429. (run (cat "run " #mcmd " THOR.readme") )
  1430.  
  1431. ; make sure that default-dir is pointing to the right place
  1432. (set @default-dest Thor_Dir)
  1433.     
  1434. (makeassign "Thor_Install")
  1435. (makeassign "BBSData")
  1436. (makeassign "Thor_Disk" (safe))
  1437.  
  1438. ; now for the exit
  1439.     (exit #endtext)
  1440.  
  1441.